This invention relates to translation of computer data to be printed into an optimized print job stream.
FIG. 1 depicts a common prior art situation in which two frames 10 and 20, which are part of a succession 18 of frames, both contain a common graphical object 2. Arrow 14 designates the linkage of the background image 2 in frame 10. Arrow 16 designates the linkage of the unique information 12 embedded in frame 10. Arrow 24 designates the linkage of the background image 2 in frame 20. Arrow 26 designates the linkage of the unique information 12 embedded in frame 20.
There are many kinds of common documents incorporating redundant use of large graphical data components on repeated pages, slides or frames. Such documents include but are not limited to visual presentations created with presentation development tools such as Powerpoint(trademark) by the Microsoft Corporation. These documents often contain one or more common backgrounds or background components entailing a large amount of graphical data which is used on several separate pages, or several times on the same page, or possibly a combination of several pages and more than once on a single page. Such elements are also known as frame, slide or page layouts in certain situations. Examples of such redundant graphical data can be seen in repeated use of logos, clipart images, maps and pictures throughout a document.
Often these background graphical components 2 are quite large and complex graphical objects, involving subtle graphical operations such as blending more than one color across the background. A sunset 2, as indicated in FIG. 1, exemplifies such a background graphical component. The rest of the data contained in the frame represents a small amount of data compared to such background components. By way of example, component 2 may involve several million bytes whereas components 12 and 22 may each involve a few hundred or thousands of bytes. The repeated transmission of such background graphical data is redundant, and thus inefficient, since it consumes bandwidth delivered to the printer. It also inefficiently requires repeated processing by the printer to generate each frame.
What is needed is a mechanism by which such redundant graphical data can be determined, expressed as a master record, that master record sent to the printer system a minimum number of times, and instances of its use parameterized and sent to the printer referencing the master record.
This invention solves the disclosed needs regarding the prior art.
One aspect of the invention is a method of translating a print object stream containing a succession of print objects into a print job stream containing print job objects. The print object stream is examined to create a collection of at least one master record. The print object stream is processed to create variable data objects as instances of at least one of the master records of the collection of the master records in the print job stream.
This method advantageously removes redundancies from large background or layout graphical objects commonly employed in documents and presentation materials. This significantly reduces the bandwidth requirements to send a print job stream to a printer. It significantly reduces the processing overhead at the printer involved in recalculating the common background or layout objects.
Another aspect of the invention includes a method of translating a print object stream containing a succession of print objects into a print job stream containing master records and instance records. A graphical print object library containing a graphical object definition is maintained. A current print object is created from getting the next print object. The method determines if the current print object belongs to the graphical print object library to create a found prior graphical objection definition. Processing the current print object as instance of the found graphical object definition occurs whenever the current print object belongs to the graphical print object library. The current print object is sent on whenever the current print object does not belong to the graphical print object library.
This method advantageously removes redundancies from large background or layout graphical objects commonly employed in documents and presentation materials. This significantly reduces the bandwidth requirements to send a print job stream to a printer. It significantly reduces the processing overhead at the printer involved in recalculating the common background or layout objects.
Embodiments of this method are advantageously implemented as a filtering style, program code component. Other embodiments are advantageously implemented as a batch style, program code component.
These and other advantages of the present invention will become apparent upon reading the following detailed descriptions and studying the various figures of the drawings.